//1. 引入express
const express = require("express");
const path = require("path");
// 导入 cors 中间件
const cors = require("cors");
//2. 创建应用对象
const app = express();
// // 引入fs
// const fs = require("fs");
// // 创建必须的文件夹
// try {
// 	fs.mkdirSync('./document/uploads',{ recursive: true });
// 	console.log('Folder created successfully!!!.');
// } catch (error) {
// 	console.error("创建文件夹失败喽~  "+error);
// }

// 导入解析请求体的包
let bodyParser = require("body-parser");
// const config = require('../class-Score/src/utils/jwt');

// 在注册路由之前,设置可以接收json数据和ulrencode格式的参数
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// 将 cors 注册为全局中间件
app.use(cors());

// // 设置静态文件目录
app.use(express.static(path.join(__dirname, 'document')));

// 简化res.send函数
// 响应数据的中间件
app.use(function (req, res, next) {
	// status = 0 为成功； code = 0 为失败； 默认将 code 的值设置为 0，方便处理失败的情况
	res.sdErr = function (err, code = 400) {
		res.send({
			// 状态
			code,
			// 状态描述，判断 err 是 错误对象 还是 字符串
			message: err instanceof Error ? err.message : err,
		});
	};
	next();
});
app.use(function (req, res, next) {
	// status = 0 为成功； code = 0 为失败； 默认将 code 的值设置为 0，方便处理失败的情况
	res.sd = function (data = "ok", code = 200) {
		res.send({
			// 状态
			code,
			// 状态描述，判断 err 是 错误对象 还是 字符串
			data,
		});
	};
	next();
});
// ===========================================  注册路由

// 用户模块
const userInfo = require("./router/userInfo.js");
app.use("/api", userInfo);

// 评论模块
const comment = require("./router/comment.js");
app.use("/api", comment);

// 查询博客模块
const queryArticle = require("./router/queryArticle.js");
app.use("/api", queryArticle);

// 查询标签模块
const queryTag = require("./router/allTag.js");
app.use("/api", queryTag);

// 留言板模块
const msgBoard = require("./router/msgBoard.js");
app.use("/api", msgBoard);

// 作品模块
const getWorks = require("./router/getworks.js");
app.use("/api", getWorks);

// 上传文件模块
const upload = require("./router/uploadFile.js");
app.use("/api", upload);

// 菜单权限模块
const menuu = require("./router/menu.js");
app.use("/api", menuu);

const Sys = require("./router/system.js");
app.use("/api", Sys);


// 其他接口模块要写在这上面
app.use("/", function (req, res) {
	console.log('#请求1');
});


//4. 监听端口启动服务
app.listen(10005, () => {
	console.log("服务起来了----------10005...");
});


